/*
  Copyright (C) 2005 SKYRIX Software AG

  This file is part of SOPE.

  SOPE is free software; you can redistribute it and/or modify it under
  the terms of the GNU Lesser General Public License as published by the
  Free Software Foundation; either version 2, or (at your option) any
  later version.

  SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
  WARRANTY; without even the implied warranty of MERCHANTABILITY or
  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
  License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with SOPE; see the file COPYING.  If not, write to the
  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
  02111-1307, USA.
*/

#include <NGObjWeb/WOComponent.h>

@class NSArray, NSCalendarDate;

@interface MonthPage : WOComponent
{
  NSCalendarDate *date;
}

@end

#include "WOSession+CoreData.h"
#include <NGExtensions/NSCalendarDate+misc.h>
#include "common.h"

@implementation MonthPage

- (id)initWithContext:(id)_ctx {
  if ((self = [super initWithContext:_ctx])) {
  }
  return self;
}

- (void)dealloc {
  [self->date release];
  [super dealloc];
}

/* accessors */

- (NSCalendarDate *)date {
  if (self->date == nil) {
    NSString *value;
    
    value = [[[self context] request] formValueForKey:@"date"];
    self->date = [value isNotEmpty]
      ? [[NSCalendarDate alloc] initWithString:value calendarFormat:@"%Y%m%d"]
      : [[NSCalendarDate alloc] init];
  }
  return self->date;
}

- (NSArray *)calMatrix {
  return [[self date] calendarMatrixWithStartDayOfWeek:1 /* Monday */
		      onlyCurrentMonth:NO];
}

/* actions */

@end /* MonthPage */
